﻿package Message.Public
{
    import Framework.MQ.*;
    import Framework.Serialize.*;
    import flash.utils.*;

    public class SDicePlayerMapInfo extends IMessageBase
    {
        public var entityId:SEntityId;
        public var mapId:int;
        public var bornPoint:SStepInfo;
        public var count:int;
        public var eventInfo:Dictionary;
        public var playerMines:Array;
        public var playerInvests:Array;
        public var cardInfos:Dictionary;
        public var buffInfos:Dictionary;
        public var records:Array;
        public const _type:int = 3202;
        public static var _regist:SDicePlayerMapInfo = new SDicePlayerMapInfo(true);

        public function SDicePlayerMapInfo(param1:Boolean = false)
        {
            if (param1)
            {
                MessageManager.instance().regist(this);
            }
            return;
        }// end function

        override public function getType() : int
        {
            return this._type;
        }// end function

        override public function clone() : IMessageBase
        {
            return new SDicePlayerMapInfo();
        }// end function

        override public function __write(param1:SerializeStream) : void
        {
            this.entityId.__write(param1);
            param1.writeInt(this.mapId);
            this.bornPoint.__write(param1);
            param1.writeInt(this.count);
            DictPointIntHelper.write(param1, this.eventInfo);
            SeqSPlayerMineHelper.write(param1, this.playerMines);
            SeqSPlayerInvestHelper.write(param1, this.playerInvests);
            DictIntIntHelper.write(param1, this.cardInfos);
            DictIntIntHelper.write(param1, this.buffInfos);
            SeqSPlayerRecordHelper.write(param1, this.records);
            return;
        }// end function

        override public function __read(param1:SerializeStream) : void
        {
            this.entityId = new SEntityId();
            this.entityId.__read(param1);
            this.mapId = param1.readInt();
            this.bornPoint = new SStepInfo();
            this.bornPoint.__read(param1);
            this.count = param1.readInt();
            this.eventInfo = DictPointIntHelper.read(param1);
            this.playerMines = SeqSPlayerMineHelper.read(param1);
            this.playerInvests = SeqSPlayerInvestHelper.read(param1);
            this.cardInfos = DictIntIntHelper.read(param1);
            this.buffInfos = DictIntIntHelper.read(param1);
            this.records = SeqSPlayerRecordHelper.read(param1);
            return;
        }// end function

    }
}
